package com.aiti.lulian.mapper;

import com.aiti.base.core.base.mapper.SuperMapper;
import com.aiti.lulian.entity.LuLianSupplierInquiryOrder;
import com.aiti.lulian.entity.LuLianSupplierInquiryOrderRequest;
import com.aiti.lulian.entity.response.inquiryorder.BuyerBackGroupListResp;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @ClassName ILuLianSupplierInquiryOrderMapper
 * @Description
 * @Author diaozhende
 * @Date 2024/6/12 0012 15:14
 */
@Repository
public interface ILuLianSupplierInquiryOrderMapper extends SuperMapper<LuLianSupplierInquiryOrder> {

    /**
     * 多参数查询
     *
     * @param supplierInquiryOrder 查询参数
     * @return java.util.List<com.aiti.lulian.entity.LuLianSupplierInquiryOrder>
     * @date 2024/6/13 0013 16:20
     * @author diaozhende
     */
    List<LuLianSupplierInquiryOrder> queryByParams(@Param("supplierInquiryOrder") LuLianSupplierInquiryOrder supplierInquiryOrder);

    /**
     * id查询
     *
     * @param id 查询参数
     * @return LuLianSupplierInquiryOrderRequest
     * @date 2024/6/19
     * @author yangfenzhen
     */
    LuLianSupplierInquiryOrderRequest queryById(@Param("id") String id);

    /**
     * 分页查询
     *
     * @param page                 分页器
     * @param supplierInquiryOrder 查询参数
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.aiti.lulian.entity.LuLianSupplierInquiryOrder>
     * @date 2024/6/21 0021 11:01
     * @author diaozhende
     */
    Page<LuLianSupplierInquiryOrder> queryPage(Page<LuLianSupplierInquiryOrder> page, @Param("supplierInquiryOrder") LuLianSupplierInquiryOrder supplierInquiryOrder);

    /**
     * 查询买家方信息
     *
     * @param recruitId
     */
    Map<String, Object> selectBuyerInfo(@Param("recruitId") String recruitId);

    List<BuyerBackGroupListResp> querySellSupplierInquiryOrderRecruit(Page page,@Param("userId") String userId,@Param("type") String type);
    Integer selectIsExpiredCount(@Param("userId") String userId);

    Integer selectIsNotExpiredCount(@Param("userId") String userId);

    Integer selectIsDelCount(@Param("userId") String userId);
}